package org.dja.nzw.discovery.domain;

import java.util.List;

/**
 * Created by shuyun on 2016/7/6.
 */
public class InstanceDetails {
    /**
     * 实例ID
     */
    private String id;
    /**
     * 实例名称
     */
    private String name;
    /**
     * 实例版本号
     */
    private long version;
    /**
     * 主机IP
     */
    private String host;
    /**
     * 应用环境名称
     */
    private String enviroment;
    /**
     * 实例的链接点
     */
    private List<Connector> connectors;
    /**
     * 实例状态
     */
    private Status status;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public long getVersion() {
        return version;
    }

    public void setVersion(long version) {
        this.version = version;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getEnviroment() {
        return enviroment;
    }

    public void setEnviroment(String enviroment) {
        this.enviroment = enviroment;
    }

    public List<Connector> getConnectors() {
        return connectors;
    }

    public void setConnectors(List<Connector> connectors) {
        this.connectors = connectors;
    }

    public Status getStatus() {
        return status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }

    public enum Status {
        /**
         * 启动中，不能提供服务
         */
        STARTING,
        /**
         * 启动完成运行中，可以提供服务
         */
        UP,
        /**
         * 健康检查失败，不能提供服务
         */
        DOWN,
        /**
         * 人为下线，不能提供服务
         */
        OFFLINE,
        /**
         * 未知，可能由网络分化引起
         */
        UNKNOWN
    }
}
